
// 初始化横屏上传
function initLandscapeBos( vm ){

    vm.uploader_landscape = new baidubce.bos.Uploader({

        browse_button: '#advert_landscape',
        bos_bucket: BOS_BUCKET,
        bos_endpoint: BOS_END_POINT,

//        bos_ak: CONFIG["accessKeyId"],
//        bos_sk: CONFIG["secretAccessKey"],
//        uptoken: CONFIG["sessionToken"],

        // 通过 JSONP 获取 临时token
        uptoken_url: UP_TOKEN_URL,
        get_new_uptoken: false,
        max_file_size: UPLOAD_FILE_MAX_SIZE,
        bos_multipart_min_size: UPLOAD_FILE_MAX_SIZE,

        init: {
            //开始上传
            BeforeUpload: function (_, file) {

                App.blockUI('#machine_form');

                var $progress_elem = $('.blockElement');

                $progress_elem.append("<p>上传中...<span></span>%</p>");

            },
            // 上传完成的回调
            FileUploaded: function (_, file, info) {

                var bucket = info.body.bucket;
                var object = info.body.object;
                var url = BOS_END_POINT + '/' + bucket + '/' + object;

            },
            //队列中的文件上传结束的回调
            UploadComplete: function (){

                vm.landscape_bos.status = true;

                vm.isUploaded();

            },
            // 如果上传的过程中出错了，调用这个函数
            Error: function (_, error, file) {

                vm.show_error_info = true;
                vm.error_info = "上传失败，请重试！";

                App.unblockUI('#machine_form');

            },

            // 重命名 BOS 存储的文件名称
            /**
             * @return {string}
             */
            Key: function (_, file) {

                var bos_key = BOS_PREFIX + getNewFileName(file);
                vm.landscape_bos.key = bos_key;

                return bos_key;

                // 如果需要重命名 BOS 存储的文件名称，这个函数
                // 返回新的文件名即可
                // 如果这里需要执行异步的操作，可以返回 Promise 对象
                // 如果需要自定义bucket和object，可以返回{bucket: string, key: string}
                // 例如：
                // return new Promise(function (resolve, reject) {
                //   setTimeout(function () {
                //     resolve(file.name);
                //   }, 2000);
                // });
                // return "haha/hehe/cc.jpg";

            },
            // 文件的上传进度
            UploadProgress: function (_, file, progress, event) {

                if( parseFloat(vm.landscape_progress) < parseFloat(progress) ){

                    vm.landscape_progress = progress;

                }

                vm.totalProgress();

            }

        }

    });

}

//初始化竖屏上传
function initPortraitBos( vm ){

    vm.uploader_portrait = new baidubce.bos.Uploader({

        browse_button: '#advert_portrait',
        bos_bucket: BOS_BUCKET,
        bos_endpoint: BOS_END_POINT,

//        bos_ak: CONFIG["accessKeyId"],
//        bos_sk: CONFIG["secretAccessKey"],
//        uptoken: CONFIG["sessionToken"],

        // 通过 JSONP 获取 临时token
        uptoken_url: UP_TOKEN_URL,
        get_new_uptoken: false,
        max_file_size: UPLOAD_FILE_MAX_SIZE,
        bos_multipart_min_size: UPLOAD_FILE_MAX_SIZE,

        init: {

            //开始上传
            BeforeUpload: function (_, file) {

                App.blockUI('#machine_form');

                var $progress_elem = $('.blockElement');

                $progress_elem.append("<p>上传中...<span></span>%</p>");

            },

            // 上传完成的回调
            FileUploaded: function (_, file, info) {

                var bucket = info.body.bucket;
                var object = info.body.object;
                var url = BOS_END_POINT + '/' + bucket + '/' + object;

            },

            //队列中的文件上传结束的回调
            UploadComplete: function (){

                vm.portrait_bos.status = true;

                vm.isUploaded();

            },

            // 如果上传的过程中出错了，调用这个函数
            Error: function (_, error, file) {

                vm.show_error_info = true;
                vm.error_info = "上传失败，请重试！";

                App.unblockUI('#machine_form');

            },

            // 重命名 BOS 存储的文件名称
            /**
             * @return {string}
             */
            Key: function (_, file) {

                var bos_key = BOS_PREFIX + getNewFileName(file);

                vm.portrait_bos.key = bos_key;

                return bos_key;

                // 如果需要重命名 BOS 存储的文件名称，这个函数
                // 返回新的文件名即可
                // 如果这里需要执行异步的操作，可以返回 Promise 对象
                // 如果需要自定义bucket和object，可以返回{bucket: string, key: string}
                // 例如：
                // return new Promise(function (resolve, reject) {
                //   setTimeout(function () {
                //     resolve(file.name);
                //   }, 2000);
                // });
                // return "haha/hehe/cc.jpg";

            },

            // 文件的上传进度
            UploadProgress: function (_, file, progress, event) {

                if( parseFloat(vm.portrait_progress) < parseFloat(progress) ){

                    vm.portrait_progress = progress;

                }

                vm.totalProgress();

            }

        }

    });

}

